Machine learning involves the construction and use of algorithms to perform pattern recognition and other functions to, for example, form and make predictions on a set of data. In particular, machine learning may be used to find the parameters of a program that optimize the classification of an unknown input into a set of desired classes.
Embedded programs typically have two phases of development. In particular, a classification algorithm that meets a set of accuracy requirements is developed, and then the classification algorithm is attempted to be mapped to a specific computing platform intended to execute the algorithm (e.g., rewriting the algorithms as embedded code within the resource constraints of the computing platform). If the algorithm does not appropriately “fit” the resources of the computing platform, the developer may iteratively modify the algorithm and attempt to map it until the algorithm can run within the resources of the hardware.